<?php

// application/forms/Guestbook.php

   class Application_Form_Guestbook extends Zend_Form
   {
       public function init()
       {
           // Set the method for the display form to POST
           $this->setMethod('post');

           // Add an email element
           $this->addElement('text', 'email', array(
               'label'      => 'Your email address:',
               'required'   => true,
               'filters'    => array('StringTrim'),
               'validators' => array(
                   'EmailAddress',
               )
           ));

           // Add the comment element
           $this->addElement('textarea', 'comment', array(
               'label'      => 'Please Comment:',
               'required'   => true,
               'validators' => array(
                   array('validator' => 'StringLength', 'options' => array(0, 20))
                   )
           ));

           // Add a captcha
           $this->addElement('captcha', 'captcha', array(
               'label'      => 'Please enter the 5 letters displayed below:',
               'required'   => true,
               'captcha'    => array(
                   'captcha' => 'Figlet',
                   'wordLen' => 5,
                   'timeout' => 300
               )
           ));

           // Add the submit button
           $this->addElement('submit', 'submit', array(
               'ignore'   => true,
               'label'    => 'Sign Guestbook',
           ));

           // And finally add some CSRF protection
           $this->addElement('hash', 'csrf', array(
               'ignore' => true,
           ));
       }
   }